package ar.edu.untref.edd2.aventura.tests;

import junit.framework.Assert;

import org.junit.Test;

import ar.edu.untref.edd2.aventura.modelos.acciones.Accion;
import ar.edu.untref.edd2.aventura.modelos.acciones.TiposDeAccion;
import ar.edu.untref.edd2.aventura.modelos.escenarios.AccionNoEncontradaException;
import ar.edu.untref.edd2.aventura.modelos.escenarios.Escenario;
import ar.edu.untref.edd2.aventura.modelos.escenarios.TipoDeEscenario;

public class EscenarioTest {
	private Escenario escenario;
	private Accion nuevaAccion;

	public void crearEscenario() {
		this.escenario = new Escenario("TestEscenario", "TestDescripcion",
				TipoDeEscenario.TEST);
		this.nuevaAccion = new Accion("aTest", "aDTest", TiposDeAccion.USAR);
	}

	@Test
	public void agregarAccionTest() throws AccionNoEncontradaException {
		this.crearEscenario();
		this.escenario.addAccion(this.nuevaAccion);
		this.escenario.removerAccion(this.nuevaAccion);
		Assert.assertFalse(this.escenario.existeAccion(this.nuevaAccion));
	}

	@Test(expected = AccionNoEncontradaException.class)
	public void removerAccionInexistenteTest()
			throws AccionNoEncontradaException {
		this.crearEscenario();
		this.escenario.addAccion(this.nuevaAccion);
		this.escenario.removerAccion(new Accion("xxx", "ddd",
				TiposDeAccion.AGARRAR));

	}

}
